package wangwenjun.phase2.concurrencypattern.readwritelockseparation.demo01.framework;

/**
 * @author ChangLiang
 * @date 2020/6/12
 */
public interface Lock {

    /**
     * 获取显式锁，没有获得锁的线程将被阻塞
     * @throws InterruptedException
     */
    void lock() throws InterruptedException;

    /**
     * 释放获取的锁
     * 其主要目的就是为了减少reader 或者writer 的数量
     */
    void unlock();
}
